package Utils;

import java.io.FilterInputStream;
import java.io.IOException;
import java.io.InputStream;

public class HtmlToAscii extends FilterInputStream {
	
	private InputStream is;
	private boolean isTag = false;
	
	public HtmlToAscii(InputStream is) {
		super(is);
		this.is = is;
	}
	
	@Override 
	public int read(byte [] array)
	{
		try
		{
			boolean tagEndNow = false;
			// Primera lectura y bucle hasta el final
			int leido = is.read(array);
			if(leido > 0) {
			   if ((char)array[0] == '<') isTag = true; // Estem a una etiqueta
			   if ((char)array[0] == '>') 
			   {
			   isTag = false; // Finalitzem la etiqueta
			   tagEndNow = true; // Indiquem que acabem de finalitzar l'etiqueta
			   }
			}
			if (isTag || tagEndNow) // Si estem a la etiqueta o si l'acabem de finalitzar.
				array[0] = ' ';
			
			return leido;
		}
		catch (IOException e)
		{
			return 0;
		}
	}

}
